package com.snail.tools;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
/**
 * @Author 【swg】.
 * @Date 2017/12/22 10:07
 * @DESC
 * @CONTACT 317758022@qq.com
 */
public class ParseHTML {
    public static StringBuilder parse(String content)
    {
        //使用Jsoup中的parse方法对已经转换为String的HTML内容进行分析，返回值为Document类
        Document doc = Jsoup.parse(content);
        //使用选择器select对需要找的元素进行抓取，例如第一个select中选择的是ul标签中class属性等于gl-warp clearfix的内容
        Elements ele = doc.select("ul[class = gl-warp clearfix]").select("li[class=gl-item]");
        //设置一个容器，用于装各个属性
        StringBuilder sb = new StringBuilder();
        //通过上一个选择器可以获得整个页面中所有符合要求的元素，也即各款手机，下面则需要对每款手机进行遍历，获取其属性
        for (Element e : ele) {
            //此处对各个属性的获取参考了网上一篇爬取京东上内容的文章，应该有其他不同的写法
            //String id = e.attr("data-pid");
            String mingzi = e.select("div[class = p-name p-name-type-2]").select("a").select("em").text();
            String jiage = e.select("div[class=p-price]").select("strong").select("i").text();
            String pinglun = e.select("div[class=p-commit]").select("strong").select("a").text();
            //向容器中添加属性
            //sb.append(id+"\t\t");
            sb.append(mingzi+"\t\t");
            sb.append(jiage+"\t\t");
            sb.append(pinglun+"\t\t");
            sb.append("\r\n\n");
        }
        return sb;
    }
}
